home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PROGEDIT / 3528.ZIP / CBX300.EXE / ADA.LNG next >
Text File  |  1992-04-07  |  6KB  |  240 lines

  1. ?≡  <>%
  2. compilation-unit
  3. ≡statements statement
  4. statements
  5. ?statement
  6. null-statement
  7. assignment-statement
  8. procedure-call-statement
  9. exit-statement
  10. return-statement
  11. goto-statement
  12. entry-call-statement
  13. delay-statement
  14. abort-statement
  15. raise-statement
  16. code-statement
  17. if-statement
  18. case-statement
  19. loop-statement
  20. block-statement
  21. accept-statement
  22. select-statement
  23. ≡if-statement if condition then
  24.    statement
  25.    statements
  26. elsif condition then
  27.    statement
  28.    statements
  29. else
  30.    statement
  31.    statements
  32. end if;
  33. ≡loop-statement loop
  34.    statement
  35.    statements
  36. end loop;
  37. ≡procedure-call-statement procedure-name actual-parameter-part
  38. ≡actual-parameter-part ( parameter-association , parameter-association )
  39. ≡parameter-association formal-parameter => actual-parameter
  40. ≡assignment-statement variable-name := expression;
  41. ?expression
  42. relation
  43. relation and relation
  44. relation and then relation
  45. relation or relation
  46. relation or else relation
  47. relation xor relation
  48. ?relation
  49. simple-expression
  50. simple-expression relational-operator simple-expression
  51. simple-expression not in range
  52. simple-expression not in type-mark
  53. ?simple-expression
  54. term
  55. unary-adding-operator term
  56. term binary-adding-operator term
  57. uary-adding-operator term binary-adding-operator term
  58. ?term
  59. factor
  60. factor multiplying-operator factor
  61. ?factor
  62. primary
  63. primary ** primary
  64. abs primary
  65. not primary
  66. ?primary
  67. numeric-literal
  68. null
  69. aggregate
  70. string-literal
  71. name
  72. allocator
  73. function-call
  74. type-conversion
  75. qualified-expression
  76. ( expression )
  77. ≡function-call function-name actual-parameter-part
  78. ?compilation-unit
  79. context-clause library-unit
  80. context-clause secondary-unit
  81. procedure-definition
  82. ?library-unit
  83. subprogram-specification
  84. package-declaration
  85. generic-declaration
  86. generic-instantiation
  87. subprogram-body
  88. ?subprogram-specification
  89. procedure identifier formal-part
  90. function designator formal-part return type-mark
  91. ≡subprogram-body subprogram-specification is
  92.    declarative-part
  93. begin
  94.    statement
  95.    statements
  96. exception
  97.    exception-handler
  98.    exception-handlers
  99. end designator
  100. ≡procedure-definition procedure %1 is
  101.    declarative-part
  102. begin
  103.    statement
  104.    statements
  105. exception
  106.    exception-handler
  107.    exception-handlers
  108. end %1
  109. ≡declarative-part basic-declarative-items
  110. later-declarative-items
  111. ≡basic-declarative-items basic-declarative-item
  112. basic-declarative-items
  113. ?basic-declarative-item
  114. basic-declaration
  115. representation-clause
  116. use-clause
  117. ?basic-declaration
  118. object-declaration
  119. number-declaration
  120. type-declaration
  121. subtype-declaration
  122. subprogram-declaration
  123. generic-declaration
  124. task-declaration
  125. generic-declaration
  126. exception-declaration
  127. generic-instantiation
  128. renaming-declaration
  129. deferred-constant-declaration
  130. ?object-declaration
  131. identifier-list : constant subtype-indication := expression;
  132. identifier-list : constant constrained-array-definition := expression;
  133. ≡context-clause with-clause use-clause
  134. context-clause
  135. ≡with-clause with package-name , package-name;
  136. ≡use-clause use package-name , package-name;
  137. ≡block-statement declare
  138.    declarative-part
  139. begin
  140.    statement
  141.    statements
  142. exception
  143.    exception-handler
  144.    exception-handlers
  145. end
  146. ≡exception-handler when exception-choice exception-choices =>
  147.    statements
  148. ≡exception-handlers exception-handler
  149. exception-handlers
  150. ≡exception-choices | exception-choice exception-choices
  151. ?exception-choice
  152. exception-name
  153. others
  154. ≡exit-statement exit when condition;
  155. ?type-declaration
  156. full-type-declaration
  157. incomplete-type-declaration
  158. private-type-declaration
  159. ≡full-type-declaration type identifier discriminant-part is type-definition
  160. ?type-definition
  161. enumeration-type-definition
  162. integer-type-definiton
  163. real-type-definition
  164. array-type-definition
  165. record-type-definition
  166. access-type-definition
  167. derived-type-definition
  168. ≡record-type-definition record
  169.    component-list
  170. end record;
  171. ?component-list
  172. component-declarations
  173. component-declarations variant-part
  174. null
  175. ≡component-declaration identifier-list : component-subtype-definition := expression;
  176. ≡component-declarations identifier-list : component-subtype-definition := expression;
  177. component-declarations
  178. ≡variant-part case discriminant-simple-name is
  179.    variant
  180.    variants
  181. end case;
  182. ≡variant when choice choices =>
  183.    component-list
  184. ≡choices | choice choices
  185. ≡component-subtype-definition subtype-indication
  186. ≡subtype-indication type-mark constraint
  187. ?type-mark
  188. type-name
  189. subtype-name
  190. ?constraint
  191. range-constraint
  192. floating-point-constraint
  193. fixed-point-constraint
  194. index-constraint
  195. discriminant-constraint
  196. ≡constrained-array-definition array index-constraint of component-subtype-indication
  197. ≡index-constraint ( discrete-range discrete-ranges )
  198. ≡discrete-ranges , discrete-range discrete-ranges
  199. ≡discrete-range discrete-subtype-indication range
  200. ?range
  201. range-attribute
  202. simple-expression .. simple-expression
  203. ≡number-declaration identifier-list : constant := universal-static-expression
  204. ≡package-declaration package-specification ;
  205. ≡package-specification package identifier is
  206.    basic-declarative-item
  207. private
  208.    basic-declarative-item
  209. end package-simple-name
  210. ≡subprogram-declaration subprogram-specification ;
  211. ?subprogram-specification
  212. procedure identifier formal-part
  213. function designator formal-part return type-mark
  214. ≡formal-part ( parameter-specification parameter-specifications )
  215. ≡parameter-specifications parameter-specification , parameter-specifications
  216. ≡parameter-specification identifier-list : mode type-mark := expression
  217. ?mode
  218. in
  219. out
  220. in out
  221. ?later-declarative-item
  222. body
  223. subprogram-declaration
  224. package-declaration
  225. task-declaration
  226. generic-declaration
  227. use-clause
  228. generic-instantiation
  229. ≡exception-declaration identifier-list : exception;
  230. ≡incomplete-type-declaration type identifier discriminant-part ;
  231. ?private-type-declaration
  232. type identifier discriminant-part is limited private;
  233. type identifier discriminant-part is private;
  234. ?body
  235. subprogram-body
  236. package-body
  237. task-body
  238. body-stub
  239.  
  240.